/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.edu.unipampa.cenario;

import br.edu.unipampa.desafios.Desafios;
import java.util.ArrayList;
import br.edu.unipampa.recurso.Arma;
import java.util.List;
import br.edu.unipampa.recurso.Equipamento;
import br.edu.unipampa.recurso.Suprimento;

/**
 *
 * @author Renato
 */
public class Lugar {

    private String nome;
    private String clima;
    private Lugar[] acessos;//add
    private Desafios desafios;
    private List<Suprimento> suprimento;// add remov e find
    private List<Arma> arma;
    private List<Equipamento> equipamento;
    private String item;
    
    
    public Lugar() {
        acessos = new Lugar[4];
        suprimento = new ArrayList<Suprimento>();
        arma = new ArrayList<Arma>();
        equipamento = new ArrayList<Equipamento>();

    }

    public void adicionaAcesso(int l) {
        this.adicionaAcesso(l);

    }

    public void adicionaArma(Arma a) {
        this.arma.add(a);

    }

    public void removeArma(Arma a) {
        this.arma.remove(a);

    }

    public void findArma(int a) {
        this.arma.get(a);

//         c.getLocal(i).getArma();
//        
//        return null;
    }

    public void adicionaSuprimento(Suprimento x) {
        this.getSuprimento().add(x);

    }

    public void removeSuprimento(Suprimento x) {
        this.getSuprimento().remove(x);

    }

    public void findSuprimento(int x) {
        this.getSuprimento().get(x);

    }

    public void adicionaEquipamento(Equipamento b) {
        this.equipamento.add(b);

    }

    public void removeEquipamento(Equipamento b) {
       this.equipamento.remove(b);

    }

    public void findEquipamento(int b) {
        this.equipamento.get(b);

    }

    public Lugar adicionaAcesso(int num, Lugar l) {//refatorar o adiciona acesso para gerenciar o vetor e retirar o parametro num   gerenciar o metodo
        if ((num < 0) || (num > 4)) {

            System.out.println("numero invalido");
            return null;
        } else {
            getAcessos()[num] = l;
            return getAcessos()[num];
        }
    }

    public void definirClima(int n) {
        if (n == 0) {
            setClima("limpo");

        }
        if (n == 1) {
            setClima("chuvoso");

        }

    }

    public Lugar getSaida(int i) {
        return getAcessos()[i];
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getClima() {
        return clima;
    }

    public void setClima(String clima) {
        this.clima = clima;
    }

    public Lugar[] getAcessos() {
        return acessos;
    }

    public void setAcessos(Lugar[] acessos) {
        this.setAcessos(acessos);
    }

    

    void setDesafios(Desafios desafios) {
        this.desafios = desafios;
    }

    /**
     * @return the desafios
     */
    public Desafios getDesafios() {
        return desafios;
    }

    /**
     * @return the suprimento
     */
    public List<Suprimento> getSuprimento() {
        return suprimento;
    }

    /**
     * @param suprimento the suprimento to set
     */
    public void setSuprimento(List<Suprimento> suprimento) {
        this.setSuprimento(suprimento);
    }

    /**
     * @return the arma
     */
    public List<Arma> getArma() {// a classe lugar deve ser resposnavel de manter todas s propriedades e encapsular os list 
        return arma;
    }

    /**
     * @param arma the arma to set
     */
    public void setArma(List<Arma> arma) {
        this.arma = arma;
    }

    /**
     * @return the equipamento
     */
    public List<Equipamento> getEquipamento() {
        return equipamento;
    }

    /**
     * @param equipamento the equipamento to set
     */
    public void setEquipamento(List<Equipamento> equipamento) {
        this.equipamento = equipamento;
    }

    /**
     * @return the item
     */
    public String getItem() {
        return item;
    }

    /**
     * @param item the item to set
     */
    public void setItem(String item) {
        this.item = item;
    }

    
}